//package com.example.demo.aop;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.*;
//import org.springframework.stereotype.Component;
//
///**
// * Created with IntelliJ IDEA.
// * Description:
// * User: sfx
// * Date: 2023-01-15
// * Time: 19:20
// */
//
//@Component
//@Aspect//标识当前类为切面
//public class LoginAOP {
//
//    //拦截规则(定义切点)  拦截UserController的所有方法
//    @Pointcut("execution(* com.example.demo.controller.UserController.*(..))")
//    public void pointcut() {
//
//    }
//
//    //前置通知
//    @Before("pointcut()")
//    public void before() {
//        System.out.println("执行了前置通知");
//    }
//    //后置方法
//    @After("pointcut()")
//    public void after() {
//        //后置通知具体的业务代码...
//        System.out.println("执行了后置通知");
//    }
//    //环绕通知
//    @Around("pointcut()")
//    public void doAround(ProceedingJoinPoint joinPoint) {
//        //前置业务代码
//        System.out.println("环绕通知的前置业务执行代码");
//        try {
//            //执行目标方法
//            joinPoint.proceed();
//        } catch (Throwable e) {
//            e.printStackTrace();
//        }
//        //后置业务执行代码
//        System.out.println("环绕通知的后置业务执行代码");
//    }
//}